home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / PInterfaces / Packages.p < prev    next >
Encoding:
Text File  |  1989-10-13  |  5.9 KB  |  228 lines  |  [TEXT/MPS ]

  1. {
  2. Created: Tuesday, September 12, 1989 at 7:03 PM
  3.     Packages.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.     Copyright Apple Computer, Inc.    1985-1989
  7.     All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT Packages;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingPackages}
  21. {$SETC UsingPackages := 1}
  22.  
  23. {$I+}
  24. {$SETC PackagesIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingTypes}
  27. {$I $$Shell(PInterfaces)Types.p}
  28. {$ENDC}
  29. {$IFC UNDEFINED UsingDialogs}
  30. {$I $$Shell(PInterfaces)Dialogs.p}
  31. {$ENDC}
  32. {$IFC UNDEFINED UsingFiles}
  33. {$I $$Shell(PInterfaces)Files.p}
  34. {$ENDC}
  35. {$SETC UsingIncludes := PackagesIncludes}
  36.  
  37. CONST
  38. listMgr = 0;                                {list manager}
  39. dskInit = 2;                                {Disk Initializaton}
  40. stdFile = 3;                                {Standard File}
  41. flPoint = 4;                                {Floating-Point Arithmetic}
  42. trFunc = 5;                                 {Transcendental Functions}
  43. intUtil = 6;                                {International Utilities}
  44. bdConv = 7;                                 {Binary/Decimal Conversion}
  45. putDlgID = -3999;
  46. putSave = 1;
  47. putCancel = 2;
  48. putEject = 5;
  49. putDrive = 6;
  50. putName = 7;
  51. getDlgID = -4000;
  52. getOpen = 1;
  53. getCancel = 3;
  54. getEject = 5;
  55. getDrive = 6;
  56. getNmList = 7;
  57. getScroll = 8;
  58. currSymLead = 16;
  59. currNegSym = 32;
  60. currTrailingZ = 64;
  61. currLeadingZ = 128;
  62. zeroCycle = 1;                                {0:00 AM/PM format}
  63. longDay = 0;                                {day of the month}
  64. longWeek = 1;                                {day of the week}
  65. longMonth = 2;                                {month of the year}
  66. longYear = 3;                                {year}
  67. supDay = 1;                                 {suppress day of month}
  68. supWeek = 2;                                {suppress day of week}
  69. supMonth = 4;                                {suppress month}
  70. supYear = 8;                                {suppress year}
  71. dayLdingZ = 32;
  72. mntLdingZ = 64;
  73. century = 128;
  74. secLeadingZ = 32;
  75. minLeadingZ = 64;
  76. hrLeadingZ = 128;
  77.  
  78. { Date Orders }
  79.  
  80. mdy = 0;
  81. dmy = 1;
  82. ymd = 2;
  83. myd = 3;
  84. dym = 4;
  85. ydm = 5;
  86.  
  87. { Country Version }
  88.  
  89. verUS = 0;
  90. verFrance = 1;
  91. verBritain = 2;
  92. verGermany = 3;
  93. verItaly = 4;
  94. verNetherlands = 5;
  95. verBelgiumLux = 6;
  96. verSweden = 7;
  97. verSpain = 8;
  98. verDenmark = 9;
  99. verPortugal = 10;
  100. verFrCanada = 11;
  101. verNorway = 12;
  102. verIsrael = 13;
  103. verJapan = 14;
  104. verAustralia = 15;
  105. verArabia = 16;
  106. verFinland = 17;
  107. verFrSwiss = 18;
  108. verGrSwiss = 19;
  109. verGreece = 20;
  110. verIceland = 21;
  111. verMalta = 22;
  112. verCyprus = 23;
  113. verFarsi = 48;
  114. verCyrillic = 49;
  115. verFaroese = 47;
  116. verTurkey = 24;
  117. verYugoslavia = 25;
  118. verIreland = 50;
  119. verKorea = 51;
  120. verChina = 52;
  121. verTaiwan = 53;
  122. verThailand = 54;
  123. minCountry = verUS;
  124. maxCountry = verThailand;
  125.  
  126.  
  127. TYPE
  128.  
  129. DateForm = (shortDate,longDate,abbrevDate);
  130.  
  131.  
  132. SFReply = RECORD
  133.     good: BOOLEAN;
  134.     copy: BOOLEAN;
  135.     fType: OSType;
  136.     vRefNum: INTEGER;
  137.     version: INTEGER;
  138.     fName: Str63;
  139.     END;
  140.  
  141. SFTypeList = ARRAY [0..3] OF OSType;
  142.  
  143. Intl0Ptr = ^Intl0Rec;
  144. Intl0Hndl = ^Intl0Ptr;
  145. Intl0Rec = PACKED RECORD
  146.     decimalPt: CHAR;                        {decimal point character}
  147.     thousSep: CHAR;                         {thousands separator}
  148.     listSep: CHAR;                            {list separator}
  149.     currSym1: CHAR;                         {currency symbol}
  150.     currSym2: CHAR;
  151.     currSym3: CHAR;
  152.     currFmt: Byte;                            {currency format}
  153.     dateOrder: Byte;                        {order of short date elements}
  154.     shrtDateFmt: Byte;                        {short date format}
  155.     dateSep: CHAR;                            {date separator}
  156.     timeCycle: Byte;                        {0 if 24-hour cycle, 255 if 12-hour}
  157.     timeFmt: Byte;                            {time format}
  158.     mornStr: PACKED ARRAY [1..4] OF CHAR;    {trailing string for first 12-hour cycle}
  159.     eveStr: PACKED ARRAY [1..4] OF CHAR;    {trailing string for last 12-hour cycle}
  160.     timeSep: CHAR;                            {time separator}
  161.     time1Suff: CHAR;                        {trailing string for 24-hour cycle}
  162.     time2Suff: CHAR;
  163.     time3Suff: CHAR;
  164.     time4Suff: CHAR;
  165.     time5Suff: CHAR;
  166.     time6Suff: CHAR;
  167.     time7Suff: CHAR;
  168.     time8Suff: CHAR;
  169.     metricSys: Byte;                        {255 if metric, 0 if not}
  170.     intl0Vers: INTEGER;                     {version information}
  171.     END;
  172.  
  173. Intl1Ptr = ^Intl1Rec;
  174. Intl1Hndl = ^Intl1Ptr;
  175. Intl1Rec = PACKED RECORD
  176.     days: ARRAY [1..7] OF Str15;            {day names}
  177.     months: ARRAY [1..12] OF Str15;         {month names}
  178.     suppressDay: Byte;                        {0 for day name, 255 for none}
  179.     lngDateFmt: Byte;                        {order of long date elements}
  180.     dayLeading0: Byte;                        {255 for leading 0 in day number}
  181.     abbrLen: Byte;                            {length for abbreviating names}
  182.     st0: PACKED ARRAY [1..4] OF CHAR;        {strings for long date format}
  183.     st1: PACKED ARRAY [1..4] OF CHAR;
  184.     st2: PACKED ARRAY [1..4] OF CHAR;
  185.     st3: PACKED ARRAY [1..4] OF CHAR;
  186.     st4: PACKED ARRAY [1..4] OF CHAR;
  187.     intl1Vers: INTEGER;                     {version information}
  188.     localRtn: ARRAY [0..0] OF INTEGER;        {routine for localizing string comparison}
  189.     END;
  190.  
  191.  
  192.  
  193. PROCEDURE InitPack(packID: INTEGER);
  194.     INLINE $A9E5;
  195. PROCEDURE InitAllPacks;
  196.     INLINE $A9E6;
  197. FUNCTION IUGetIntl(theID: INTEGER): Handle;
  198. PROCEDURE IUSetIntl(refNum: INTEGER;theID: INTEGER;intlParam: Handle);
  199. PROCEDURE IUDateString(dateTime: LONGINT;longFlag: DateForm;VAR result: Str255);
  200. PROCEDURE IUDatePString(dateTime: LONGINT;longFlag: DateForm;VAR result: Str255;
  201.     intlParam: Handle);
  202. FUNCTION IUMetric: BOOLEAN;
  203. PROCEDURE IUTimePString(dateTime: LONGINT;wantSeconds: BOOLEAN;VAR result: Str255;
  204.     intlParam: Handle);
  205. FUNCTION IUMagString(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER): INTEGER;
  206. PROCEDURE IUTimeString(dateTime: LONGINT;wantSeconds: BOOLEAN;VAR result: Str255);
  207. FUNCTION IUMagIDString(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER): INTEGER;
  208. FUNCTION IUCompString(aStr: Str255;bStr: Str255): INTEGER;
  209. FUNCTION IUEqualString(aStr: Str255;bStr: Str255): INTEGER;
  210. PROCEDURE SFGetFile(where: Point;prompt: Str255;fileFilter: ProcPtr;numTypes: INTEGER;
  211.     typeList: SFTypeList;dlgHook: ProcPtr;VAR reply: SFReply);
  212. PROCEDURE StringToNum(theString: Str255;VAR theNum: LONGINT);
  213. PROCEDURE SFPGetFile(where: Point;prompt: Str255;fileFilter: ProcPtr;numTypes: INTEGER;
  214.     typeList: SFTypeList;dlgHook: ProcPtr;VAR reply: SFReply;dlgID: INTEGER;
  215.     filterProc: ProcPtr);
  216. PROCEDURE NumToString(theNum: LONGINT;VAR theString: Str255);
  217. PROCEDURE SFPPutFile(where: Point;prompt: Str255;origName: Str255;dlgHook: ProcPtr;
  218.     VAR reply: SFReply;dlgID: INTEGER;filterProc: ProcPtr);
  219. PROCEDURE SFPutFile(where: Point;prompt: Str255;origName: Str255;dlgHook: ProcPtr;
  220.     VAR reply: SFReply);
  221.  
  222. {$ENDC}    { UsingPackages }
  223.  
  224. {$IFC NOT UsingIncludes}
  225.     END.
  226. {$ENDC}
  227.  
  228.